﻿package minipost.post.model;

import java.io.Serializable;
import java.sql.Timestamp;

public class Post implements Serializable {
	/**
	 * 默认无参构造方法
	 */
	public Post() {
		
	}
	
	/**
	 * 带参构造方法
	 * @param postTitle 文章标题
	 * @param postType 文章类型
	 * @param postAuthor 文章作者
	 * @param postContent 文章内容
	 */
	public Post(String postTitle, String postType, String postAuthor, String postContent) {
		setPostTitle(postTitle);
		setPostType(postType);
		setPostAuthor(postAuthor);
		setPostContent(postContent);
	}

	/**
	 * @return int 文章的编号
	 */
	public int getId() {
		return id;
	}

	/**
	 * 设置文章的编号
	 * @param id
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * @return String 文章作者
	 */
	public String getPostAuthor() {
		return postAuthor;
	}

	/**
	 * 设置文章的作者
	 * @param postAuthor
	 */
	public void setPostAuthor(String postAuthor) {
		this.postAuthor = postAuthor;
	}

	/**
	 * @return String 文章标题
	 */
	public String getPostTitle() {
		return postTitle;
	}

	/**
	 * 设置文章标题
	 * @param postTitle
	 */
	public void setPostTitle(String postTitle) {
		this.postTitle = postTitle;
	}

	/**
	 * @return String 文章内容
	 */
	public String getPostContent() {
		return postContent;
	}

	/**
	 * 设置文章内容
	 * @param postContent
	 */
	public void setPostContent(String postContent) {
		this.postContent = postContent;
		formatPostContent();
	}

	/**
	 * @return 文章类型
	 */
	public String getPostType() {
		return postType;
	}

	/**
	 * 设置文章类型
	 * @param postType
	 */
	public void setPostType(String postType) {
		this.postType = postType;
	}

	/**
	 * @return 发布时间
	 */
	public Timestamp getPostDate() {
		return postDate;
	}
	
	/**
	 * @return 发布时间
	 */
	public String getPostDateAsString() {
		return postDate.toString().substring(0, 19);
	}

	/**
	 * 设置发布时间
	 * @param postDate
	 */
	public void setPostDate(Timestamp postDate) {
		this.postDate = postDate;
	}

	/**
	 * @return 最新修改时间
	 */
	public Timestamp getPostModified() {
		return postModified;
	}

	/**
	 * 设置最新修改时间
	 * @param postModified
	 */
	public void setPostModified(Timestamp postModified) {
		this.postModified = postModified;
	}
	
	/**
	 * 格式化文章内容
	 */
	private void formatPostContent() {
		postContent.replaceAll("\n", "<br><br>");
	}

	private static final long serialVersionUID = -7852193755217076801L;

	private int id; // 自增编号
	private String postAuthor; // 文章来源
	private String postTitle; // 标题
	private String postContent; // 内容
	private String postType; // 类型
	private Timestamp postDate; // 发布时间
	private Timestamp postModified; // 最新修改时间
}